home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 27.zip
/
BS1 part 27
/
Superbase4_d2.adf
/
Trading
/
MENU.SBP
< prev
next >
Wrap
Text File
|
1992-08-05
|
15KB
|
648 lines
SBP
ÿ½ MENU
ÿ½ Superbase Demonstration Trading System
ÿ½ Master Menu Program
ÿ½ Last updated Mar 14, 91
ÿ³ÿ_ÿwferror
mloop:ÿ½ Menu item selection
ÿßÿe
ÿ¡ret%ÿp
ÿ½ Returning from another routine
ÿ¡ÿÿbanner$ÿpÿ´ÿbanner$ÿ^ÿ
ÿ¡ma%ÿ
4ÿpÿvsmenu
ÿ^
ÿ½ First time thru
banner$ÿ"banner2"
ÿvsinit
banner$ÿ"banner"
ÿÿ¡
ÿ¬ÿ³ma%,mb%
ÿÊÿËss1$
ÿ¡ret%ÿ0ÿpÿßÿ³:ÿÏÿßÿÿ¬
ÿØÿOma%
ÿ¡h2%ÿÿ:(ÿR)ÿpÿvshead
ÿÙ
ÿ¡ma%ÿ
4ÿpÿ¬ÿ
ret%ÿ1
ÿ³ma%ÿwm1,m2,m3,m4,m5,m6
sinit:ÿ½ Initialize first time thru
ÿÿt:ÿÊÿfÿ³:ÿ²"z-99999.00"
ÿ½ STATUS ON
h3$ÿ"Superbase Demonstration Trading System "
ÿÊÿË"Initializing application"
ÿÊÿÂÿ"Trading System"
ÿvshead
ÿ´ÿbanner$
ÿ´ÿ"TRANS":ÿ´ÿ"CTRL":ÿ½ opens all files
ÿ×pstk$(12),pstk%(12):ÿ½ key arrays for multi-record screens
ÿ½ Dialog messages
ms1$ÿ"Is entry correct?"
ms2$ÿ"Continue with data entry?"
ms3$ÿ"Do you wish to reprint?"
ms4$ÿ"Has all output been correctly printed?"
ms5$ÿ"Select another record?"
ms6$ÿ"Select another line?"
ms7$ÿ"Select index sequence"
ms8$ÿ"Record already exists with this key"
ms9$ÿ"Press OK to make another selection"
ms10$ÿ"Report to printer?"
ms11$ÿ"Report line too long for printer"
ms12$ÿ"Try using a smaller font"
ms13$ÿ"Include external images and text?"
ms14$ÿ"Deleting record "
ms15$ÿ"Are you sure?"
ms16$ÿ"Print (c)urrent record, (s)elected or (a)ll records"
ms17$ÿ"(d)isplay or (p)rint?"
ms18$ÿ"Cannot find related client record"
ms19$ÿ"Transaction record found"
ms20$ÿ"Please delete related transaction(s)"
ms21$ÿ"Break in program"
ms22$ÿ"Do you wish to resume?"
ms23$ÿ"Select query to be loaded"
ms24$ÿ"Enter query name"
ms25$ÿ"Cannot edit or delete"
ms26$ÿ"Batch totals do not agree"
ms27$ÿ"Amount must be positive"
ms28$ÿ"Batch totals agree"
ms29$ÿ"Do you wish to edit batch?"
ms30$ÿ"Do you have a VGA display adapter?"
ms311$ÿ"This produces certificate advices for"
ms312$ÿ"transactions with certificate numbers"
ms321$ÿ"This produces contract notes"
ms322$ÿ"for all new transactions"
ms411$ÿ"This updates stocks with year highs"
ms421$ÿ"This updates stocks with year lows"
ms431$ÿ"This updates transactions to indicate"
ms432$ÿ"that certificates have been sent"
ms442$ÿ"that contract notes have been sent"
ms451$ÿ"This resets document sent flags to N"
ms452$ÿ"for transaction nos. 000020 and up"
ÿ½ Status line messages
ss1$ÿ"Select a pulldown menu option"
ss2$ÿ"Select a pushbutton option"
ss3$ÿ"Enter data for new record"
ss4$ÿ"Use TAB or click on field to be edited. ESC to stop."
ss6$ÿ"Printing"
ss7$ÿ"Press the Space Bar to continue"
ss8$ÿ"Creating temporary mailmerge file"
ss9$ÿ"Enter new value(s)"
ss10$ÿ"Browse in "
ss11$ÿ" sequence: use STOP to end browsing"
ss12$ÿ"Select line to be deleted"
ss13$ÿ"Select pushbutton or click on line to edit"
ss14$ÿ"Press any key or click on mouse button to continue"
ss15$ÿ"Create or edit query. Use ENTER to stop"
ss16$ÿ"Checking whether referenced elsewhere"
ss17$ÿ"Updating client trading balance"
ss18$ÿ"Press ENTER for default values"
ss19$ÿ"Updating"
ss20$ÿ"Enter batch total"
ss21$ÿ"Move the pointer over a transaction line and click"
ÿ¬ÿ
smenu:ÿ½ Define pulldown menus
ÿ½ Flags in CTRL do graying for doc production/update cycles
ÿ¬1,0,1,"&File"
ÿ¬1,1,1,"&Clients"
ÿ¬1,2,1,"&Stocks"
ÿ¬1,3,1,"C&ountries"
ÿ¬1,4,1,"C&urrencies"
ÿ¬1,5,tran.CTRL,"&Transactions"
ÿ¬1,6,1,"&Exit"
ÿ¬2,0,1,"&Daily"
ÿ¬2,1,1,"&Currency Rates"
ÿ¬2,2,1,"&Stock Prices"
ÿ¬2,3,cent.CTRL,"Certificate &Nos"
ÿ¬2,4,1,"Cash &Receipts"
ÿ¬2,5,1,"Cash &Payments"
ÿ¬3,0,1,"D&ocuments"
ÿ¬3,1,cert.CTRL,"&Certificates":
ÿ¬3,2,cont.CTRL,"C&ontract Notes"
ÿ¬3,3,1,"&Statements"
ÿ¬4,0,1,"&Update"
ÿ¬4,1,1,"Stock &Highs"
ÿ¬4,2,1,"Stock &Lows"
ÿ¬4,3,ceru.CTRL,"&Certs Sent"
ÿ¬4,4,conu.CTRL,"&Notes Sent"
ÿ¬4,5,1,"&Reset"
ÿ¬5,0,1,"&Query"
ÿ¬5,1,1,"&Run"
ÿ¬5,2,1,"&New"
ÿ¬5,3,1,"&Open"
ÿ¬5,4,1,"&Edit"
ÿ¬5,5,1,"&Save"
ÿ¬6,0,1,"&Reports"
ÿ¬6,1,1,"&Traded Stocks"
ÿ¬6,2,1,"Stock &Highs"
ÿ¬6,3,1,"Stock &Lows"
ÿ¬6,4,1,"T&rading Balances"
ÿ¬6,5,1,"-----------------"
ÿ¬6,6,1,"Telephone &Nos"
ÿ¬6,7,1,"Client &Balances"
ÿ¬6,8,1,"&Cash Audit"
ÿÃ
shead:ÿ½ Set heading every minute during menu wait
h1$ÿÿ(ÿQ,"mmm dd, yy"):h2$ÿÿ7(ÿR,"hh:mm am")
h2%ÿÿ:(ÿR):h3%ÿ(50ÿÿ/(h3$))ÿ2
h4$ÿh1$ÿÿ'(h3%)ÿh3$ÿÿ'(h3%)ÿh2$
ÿÊÿh4$
ÿÃ
m1:ÿ½ ma%= 1 File menu options
selkey$ÿ"":selkey%ÿ0
ÿ³mb%ÿwstkf,stkf,m13,m13,stkf,m16
m13:ÿ½ File Countries, Currencies
ÿ"stkfo"
m16:ÿ½ File Exit
ÿÿt:ÿÊÿ"":ÿÊÿÂÿ"":ÿ
m2:ÿ½ ma%=2 Daily menu options
ÿ³mb%ÿwm21,m21,m21,m24,m24
m21:ÿ½ Daily Currency rates, Stock prices, Certificate numbers
ÿ"stkdc"
m24:ÿ½ Daily Cash receipts, Cash payments
ÿ"stkdr"
m3:ÿ½ ma%=3 Documents menu options
ÿ³mb%ÿvm31,m31,stkf
ÿwmloop
m31:ÿ½ Documents Certificate advices, Contract notes
ÿÉÿæmb%
ÿæ1
ÿÂms311$,ms312$,140,a%
ÿæ2
ÿÂms321$,ms322$,140,a%
ÿÿÉ
ÿ¡a%ÿ0ÿpÿÃ
ÿßÿe
ÿÊÿËss8$
ÿ¡mb%ÿ1ÿp
ÿ½ Certificate advices
docf$ÿ"certs":letf$ÿ"lecerts"
ÿ¡ÿJ("certs.sbf")ÿpÿ´ÿdocf$:ÿ¾ÿdocf$
ÿÉCustomer_Ref.TRANS,Quantity.TRANS,Certificate_No.TRANS,Title.CLIENTS,Firstname.CLIENTS,
Lastname.CLIENTS,Company.CLIENTS,Street.CLIENTS,Address.CLIENTS,
City.CLIENTS,State.CLIENTS,Zip_Code.CLIENTS,Country.CLIENTS,
Company Name.STOCKS,Stock_Type
ÿÐCustomer_Ref.TRANSÿCustomer_Ref.CLIENTSÿStock_Key.TRANSÿStock_Key.STOCKSÿTrans_Type.TRANSÿ"b"ÿCertificate_No.TRANSÿ""ÿCert_Sent_yn.TRANSÿ"n"
ÿµStock_Key.TRANS,Certificate_No.TRANS
ÿqÿdocf$
ÿÿÉ
ÿ^ÿ¡mb%ÿ2ÿp
ÿ½ Contract notes
docf$ÿ"invs":letf$ÿ"leinvs"
ÿ¡ÿJ("invs.sbf")ÿpÿ´ÿdocf$:ÿ¾ÿdocf$
ÿÉStock_Key.TRANS,Customer_Ref.TRANS,Transaction ref,Trans_Type,Trans_Desc,Trans_Date,Settlement_Date,ÿ(Quantity.TRANS,6,0)ÿU"QTY",ÿ(Stock_Price.TRANS,6,2)ÿU"PR",Currency.TRANS,USD Xrate.TRANS,
ÿ(ÿ(USD Value.TRANS),6,2)ÿU"USDV",(Comm_Value)ÿU"Com",ÿ(ÿ(USD Value.TRANSÿComm_Value),6,2)ÿU"TV",&24(Client.CLIENTS)ÿU"Client",Company.CLIENTS,Street.CLIENTS,Address.CLIENTS,City.CLIENTS,
State.CLIENTS,Zip_Code.CLIENTS,Country.CLIENTS,Company Name.STOCKS,Stock_Type,Exchange
ÿÐCustomer_Ref.TRANSÿCustomer_Ref.CLIENTSÿStock_Key.TRANSÿStock_Key.STOCKSÿInvoice_Sent_yn.TRANSÿ"n"
ÿµCustomer_Ref.TRANS,Transaction ref
ÿqÿdocf$
ÿÿÉ
ÿÿ¡
ÿ´ÿdocf$
ÿvsdorp:ÿ½ display or print
ÿ¡a%ÿ0ÿpÿ¾ÿdocf$:ÿÃ
m312:ÿ½ Display or print merge documents
ÿ¨ÿoletf$:ÿÉÿ`
ÿØÿOÿB(docf$)
ÿ¡p$ÿ"p"ÿpÿÿoletf$
ÿ¡p$ÿ"d"ÿpÿ{ÿoÿ
ÿ½ WAIT FOR 2
ÿÉÿ±
ÿÙ
b%ÿ0
ÿÂms4$,"",130,a%
ÿ¡a%ÿp
ÿ½ Update CTRL file and re-set menus grayed=0 active=1
ÿ"ctrl"
ÿ¡mb%ÿ1ÿp
tran.CTRLÿ0:cent.CTRLÿ0:cert.CTRLÿ0:ceru.CTRLÿ1
ÿ¬1,5,tran.CTRL,"&Transactions"
ÿ¬2,3,cent.CTRL,"Certificate &Nos"
ÿ¬3,1,cert.CTRL,"&Certificates"
ÿ¬4,3,ceru.CTRL,"&Certs Sent"
ÿ^ÿ¡mb%ÿ2ÿp
tran.CTRLÿ0:cont.CTRLÿ0:conu.CTRLÿ1
ÿ¬1,5,tran.CTRL,"&Transactions"
ÿ¬3,2,cont.CTRL,"C&ontract Notes"
ÿ¬4,4,conu.CTRL,"&Notes Sent"
ÿÿ¡
ÿÌ
ÿ^
ÿÂms3$,"",135,b%
ÿ¡b%ÿ0ÿpÿ¾ÿdocf$
ÿÿ¡
ÿ¡b%ÿ1ÿwm312
ÿÃ
m4:ÿ½ ma%=4 Update menu options
ÿ³mb%ÿvm41,m42,m43,m44,m45
ÿwmloop
m41:ÿ½ Update New Highs
ÿÂms411$,"",140,a%
ÿ¡a%ÿp
ÿßÿe
ÿÊÿËss19$
ÿÍYear_High.STOCKSÿPrice Middle.STOCKS:Date of High.STOCKSÿPrice Date.STOCKS
ÿÐPrice Middle.STOCKSÿYear_High.STOCKSÿÿ6(Price Date.STOCKS)ÿÿ6(Date of High.STOCKS)
ÿÿÍ
ÿÿ¡
ÿÃ
m42:ÿ½ Update New Lows
ÿÂms421$,"",140,a%
ÿ¡a%ÿp
ÿßÿe
ÿÊÿËss19$
ÿÍYear_Low.STOCKSÿPrice Middle.STOCKS:Date of Low.STOCKSÿPrice Date.STOCKS
ÿÐPrice Middle.STOCKSÿ Year_Low.STOCKSÿÿ6(Price Date.STOCKS)ÿÿ6(Date of Low.STOCKS)
ÿÿÍ
ÿÿ¡
ÿÃ
m43:ÿ½ Update Certs Sent
ÿÂms431$,ms432$,140,a%
ÿ¡a%ÿp
ÿßÿe
ÿÊÿËss19$
ÿÍCert_Sent_YN.TRANSÿ"y"
ÿÐCertificate_No.TRANSÿ""ÿCert_Sent_YN.TRANSÿ"n"
ÿÿÍ
ÿ½ Update CTRL file and re-set menus grayed=0 active=1
ÿ"ctrl"
tran.CTRLÿ1:cent.CTRLÿ1:cert.CTRLÿ1:ceru.CTRLÿ0
ÿ¬1,5,tran.CTRL,"&Transactions"
ÿ¬2,3,cent.CTRL,"Certificate &Nos"
ÿ¬3,1,cert.CTRL,"&Certificates"
ÿ¬4,3,ceru.CTRL,"&Certs Sent"
ÿÌ
ÿÿ¡
ÿÃ
m44:ÿ½ Update Contract Notes Sent
ÿÂms431$,ms442$,140,a%
ÿ¡a%ÿp
ÿßÿe
ÿÊÿËss19$
ÿÍInvoice_Sent_yn.TRANSÿ"y"ÿÐInvoice_Sent_yn.TRANSÿ"n"
ÿÿÍ
ÿ½ Update CTRL file and re-set menus grayed=0 active=1
ÿ"ctrl"
tran.CTRLÿ1:cont.CTRLÿ1:conu.CTRLÿ0
ÿ¬1,5,tran.CTRL,"&Transactions"
ÿ¬3,2,cont.CTRL,"C&ontract Notes"
ÿ¬4,4,conu.CTRL,"&Notes Sent"
ÿÌ
ÿÿ¡
ÿÃ
m45:ÿ½ Resets document flags in TRANS for numbers 000020 and up
ÿÂms451$,ms452$,140,a%
ÿ¡a%ÿp
ÿÊÿË"Updating TRANS file"
ÿ"TRANS"
ÿ£Transaction ref
ÿÍCert_Sent_yn.TRANSÿ"n":Invoice_Sent_yn.TRANSÿ"n"ÿÐTransaction ref.TRANSÿ20
ÿÿÍ
ÿÿ¡
ÿÃ
m5:ÿ½ ma%=5 Query menu options
ÿßÿ³:ÿ²"z-9999999.00"
ÿÉÿæmb%
ÿæ1:ÿ½ Query Run
ÿvsdorp
ÿ¡a%ÿp
ÿ¡p$ÿ"p"ÿp
ÿ{ÿiÿqÿh
ÿ^
ÿ{ÿi
ÿÊÿËss14$
ÿÏÿ¥ÿÿß
ÿÿ¡
ÿ
ÿÿ¡
ÿæ2:ÿ½ Query New
ÿÊÿËss15$
ÿ³ÿ_ÿwmqerror
ÿ°ÿi
ÿÿi
ÿæ3:ÿ½ Query Open
ÿÂms23$,"",14,a%,q$
ÿ¡a%ÿpÿ¨ÿiq$
ÿæ4:ÿ½ Query Edit
ÿÊÿËss15$
ÿ³ÿ_ÿwmqerror
ÿÿi
ÿæ5:ÿ½ Query Save
ÿÂms24$,"",14,a%,q$
ÿ¡a%ÿpÿÅÿiq$
ÿÿÉ
ÿ¡mb%ÿ2ÿpmb%ÿ1:ÿwm5:ÿ½ if New query then Run
mqerror: ÿ½ Trap for errors generated from Query dialog
ÿ³ÿ_ÿwferror
ÿ²"z-99999.00"
ÿwmloop
m6:ÿ½ ma%=6 Reports menu options
ÿvsdorp: ÿ¡a%ÿ0ÿpÿwmloop
ÿ³mb%ÿwm61,m62,m63,m64,mloop,m66,m67,m68
m61:ÿ"stkrte"
m62:ÿ"stkrhe"
m63:ÿ"stkrle"
m64:ÿ"stkrre"
m66:ÿ"stkrne"
m67:ÿ"stkrbe"
m68:ÿ"stkrce"
sdorp:ÿ½ Select d=display p=print
p$ÿ"d"
ÿÂms17$,"",4,a%,p$,1
ÿ¡ÿO(p$ÿ"[pd]")ÿwsdorp
ÿ¡a%ÿp
p$ÿÿ=(p$)
ÿ¡p$ÿ"d"ÿpÿÊÿËss7$ÿ^ÿÊÿËss6$:ÿ¹;
ÿÿ¡
ÿÃ
stkf:ÿ½ File Clients, Stocks, Transactions
ÿ½ Documents Statements
fst%ÿ0:cli%ÿ1:stk%ÿ2:sta%ÿ3:tra%ÿ5:k%ÿ1:t%ÿ0
ÿ½ Set option parameters
ÿÉÿæmb%
ÿæcli%:ÿ½ File Clients
f$ÿ"clients":fkey$ÿ"Customer_Ref":fmd$ÿ"stkc":fmp$ÿ"stkc"
ÿæstk%:ÿ½ File Stocks
f$ÿ"stocks":fkey$ÿ"Stock_Key":fmd$ÿ"stks":fmp$ÿ"stks"
ÿæsta%:ÿ½ Documents Statements
f$ÿ"clients":fkey$ÿ"Customer_Ref":fmd$ÿ"stkos":fmp$ÿ"stkos"
ÿætra%:ÿ½ File Transactions
f$ÿ"trans":fkey$ÿ"Transaction ref":fmd$ÿ"stkt":fmp$ÿ"stkt":k%ÿ2
ÿÿÉ
ÿf$
ÿ£fkey$
ÿ¡ÿÿfmd$ÿpÿ´ÿfmd$
ind$ÿÿ£
ÿvsset
ÿ½ File forms have command only on page 1 to select form on selkey
ÿ¡mb%ÿsta%ÿpÿ2
ÿwfwait
floop:ÿ½ Re-display form
ÿvsset
ÿvssearch
ÿÎ
fwait:ÿ½ Wait here for form pushbutton
ed%ÿ1
ÿÊÿËss2$
ÿÏÿß
ÿwfwait
fedit:ÿ½ Edit pushbutton
ÿÊÿËss4$
ÿ¡mb%ÿtra%ÿpoamt%ÿTotal_Due.TRANS
ÿßÿ³:ÿ3,0
fedit2:
ÿßÿe
ÿÂms1$,"",127,a%
ÿ¡a%ÿ1ÿp
ÿÌ:ÿ½ Stores edited data
ÿ¡mb%ÿtra%ÿpamt%ÿTotal_Due.TRANSÿoamt%:ÿvsupdate
ÿ^
ÿÉÿÿY:ÿ½ Re-dispay form as before edit
ÿÿ¡
ÿwfloop
fenter: ÿ½ Enter pushbutton
ÿÿ:ed%ÿ0
ÿ¡mb%ÿtra%ÿp
Trans_Type ÿ"b":del%ÿ0:ÿÊÿËss18$
ÿ^
ÿ¡mb%ÿcli%ÿpClass.CLIENTSÿ"P"
ÿÊÿËss3$
ÿÿ¡
ÿßÿ³:ÿ3,0
fenter2:
ÿßÿe
b%ÿ0
ÿÂms1$,"",127,a%
ÿ¡a%ÿp
ÿÌ:ÿ½ Store new record
del%ÿ0
ÿ¡mb%ÿtra%ÿpamt%ÿTotal_Due.TRANS: ÿvsupdate
ÿÂms2$,"",130,b%
ÿ^
ÿÉÿÿY:ÿ½ Re-display current form
ÿÿ¡
ÿ¡b%ÿpÿwfenter
ÿ2
ÿwfloop
fdelete:ÿ½ Delete pushbutton
del%ÿ1
ÿ¡mb%ÿtra%ÿp
ÿ½ Clients, Stocks, test for related transactions, if so set del%=0
ÿÊÿËss16$
ÿ"trans"
skey$ÿckey$
ÿ¡mb%ÿcli%ÿpÿ£Customer_Ref.TRANS
ÿ¡mb%ÿstk%ÿpÿ£Stock_Key.TRANS
ÿÉÿ¥skey$
ÿ¡ÿC("")ÿpdel%ÿ0
ckey$ÿskey$
ÿf$
ÿÿ¡
ÿ¡del%ÿ1ÿp
ÿÂms14$,"",119,a%
ÿ¡a%ÿp
ÿ¡mb%ÿtra%ÿpamt%ÿÿTotal_Due.TRANS:ÿvsupdate
ÿÉÿ¾
ÿÿ¡
ÿ^
ÿÂms19$,ms20$,100,a%
ÿÿ¡
ÿ¡del%ÿ0ÿwfwait
ÿÉÿÿ¥ind$$
ÿwfloop
fswitch:ÿ½ Assign key from transaction and get form/record
mp%ÿ0
ÿÊÿËss21$
ÿÏÿß
ÿ¡(mp%ÿ0ÿmp%ÿ10)ÿpÿwfswitch
ÿÉÿÿ"mp%
fswitch2:ÿ½ Entry from Trans form: no need to select line
ÿÉÿæmb%
ÿæcli%
selkey$ÿCustomer_Ref.TRANS
ÿæstk%
selkey$ÿStock_Key.TRANS
ÿætra%
selkey%ÿTransaction ref.TRANS
ÿÿÉ
ÿwstkf
fexit:ÿ½ Exit pushbutton
ÿwmloop
stexit:
ÿÃ
supdate:ÿ½ When transaction changes, update balance in Client record
ÿÊÿËss17$
ÿ"clients"
ÿ£Customer_Ref.CLIENTS
ÿÉÿ¥Customer_Ref
ÿ¡ÿC("")ÿp
Trading_Balance.CLIENTSÿTrading_Balance.CLIENTSÿamt%
ÿÌ
ÿ^
ÿÂms18$,"",100,a%
ÿÿ¡
ÿf$
ÿÃ
sindex:ÿ½ Index pushbutton
ÿÂms7$,"",7,a%,ind$
ÿ¡a%ÿp
ÿ£ind$
ÿvssearch
ÿÿ¡
ÿÎ
ÿÃ
spanel:ÿ½ Browse pushbutton
ÿ³ÿ_ÿwserror
err%ÿ0
ss5$ÿss10$ÿind$ÿss11$
ÿÊÿËss5$
spanel2:
ÿÏÿâ
ÿ³ÿ_ÿwferror
ÿÉÿÐ
ÿ¡err%ÿ1ÿpÿÿ³
ÿvsset
ÿÃ
serror: ÿÿe:ÿ½ Error trap for Wait Panel errors
ÿÂÿ((ÿ&),"",2,a%
err%ÿ1
ÿÉÿÿY:ÿyspanel2
sprint:ÿ½ Print pushbutton
b$ÿ"c":c%ÿ0
ÿÂms16$,"",4,a%,b$,1
ÿ¡a%ÿ0ÿpÿÃ
ÿ¡ÿO(b$ÿ"[csa]")ÿpÿwsprint
b$ÿÿ=(b$)
ÿ¡mb%ÿcli%ÿpÿÂms13$,"",135,c%
ÿÊÿËss6$
ÿ½ OPEN FORM fmp$:REM Open special print form
ÿ¡b$ÿ"c"ÿp
ÿvssearch
ÿvssprint
ÿ½ OPEN FORM fmd$
ÿvssearch
ÿ^
ÿ¡b$ÿ"s"ÿpÿÉÿÿÐÿ~
ÿÉÿÿ`
ÿØÿOÿB(f$)
ÿvssprint
ÿÉÿÿ±
ÿÙ
ÿÉÿÐ
ÿ;
ÿ½ OPEN FORM fmd$
ÿÉÿ`
ÿÿ¡
ÿÎ
ÿÃ
ssprint:ÿ½ print required pages
ÿÉÿæmb%
ÿæcli%
ÿ2:ÿ¹ÿYÿí
ÿ¡c%ÿpÿÿÈ3:ÿ¹ÿYÿí
ÿ4:ÿ¹ÿYÿí
ÿæstk%
ÿ2:ÿ¹ÿYÿí
ÿ3:ÿ¹ÿYÿí
ÿ4:ÿ¹ÿYÿí
ÿætra%
ÿ2:ÿ¹ÿYÿí
ÿæsta%
ÿ¹ÿYÿí
ÿÿÉ
ÿÃ
sset:ÿ½ Stores unique value for record in ckey
ÿ¡k%ÿ1ÿpckey$ÿfkey$$
ÿ¡k%ÿ2ÿpckey%ÿfkey$$
ÿÃ
ssearch:ÿ½ Gets unique record even if index has duplicate keys
ÿÉÿÿ¥ind$$
ssearch2: ÿ½ Loop until correct record found
ÿ¡k%ÿ1ÿpÿ¡fkey$$ÿckey$ÿpÿÃ
ÿ¡k%ÿ2ÿpÿ¡fkey$$ÿckey%ÿpÿÃ
ÿÉÿÿ±
ÿwssearch2
ferror:ÿ½ General error trap
res%ÿ0
ÿ¡ÿ&ÿ11ÿp
ÿÂms21$,ms22$,130,a%:ÿ¡a%ÿ1ÿpres%ÿ1
ÿ^ÿ¡ÿ&ÿ57ÿp
ÿÂms8$,"",2,a%:res%ÿ2
ÿ^
ÿÂÿ((ÿ&),ms9$,114,a%:ÿ¡a%ÿ1ÿpres%ÿ3
ÿÿ¡
ÿ¡res%ÿ1ÿpÿy
ÿ¡res%ÿ2ÿpÿyfloop
ÿ¡res%ÿ3ÿpÿymloop
ÿ